In order to configure a service (e.g., network service), an administrator may specify requirements of a desired configuration (e.g., network configuration). For example, the network administrator may specify declarative requirements of what the final service configuration should be without directly specifying all of the individual device configurations of how to accomplish the service configuration. However, testing that the service has been properly configured and is properly functioning is often inefficient and prone to errors. For example, it is time consuming to manually review and verify the network configuration and status of each device of the service. Additionally, given the complexity of different types of configurations for each different device type that may be utilized to provide the service, traditional verification processes have been error prone. Therefore, there exists a need for a more efficient and accurate way to verify a service.